#ifndef VIEW_COMPONENT_TOOLS_CDASHBOARD_TCB_H_
#define VIEW_COMPONENT_TOOLS_CDASHBOARD_TCB_H_

#include <QButtonGroup>
#include <QEvent>
#include <QWidget>

#include "ui_CDashboard_TCB.h"

class CDashboard_TCB : public QWidget
{
    Q_OBJECT
public:
    CDashboard_TCB(QWidget* parent = nullptr);
    ~CDashboard_TCB();

    Q_INVOKABLE void ResetData();

protected:
    bool eventFilter(QObject* watched, QEvent* e) override;

protected slots:
    void event_locker_clicked(int i);

    void on_btn_GetFirmwareVersion_clicked();
    void on_btn_GetDoorStatus_clicked();
    void on_btn_GetAllBoxTemperatures_clicked();
    void on_btn_GetEvaporatorTemperature_clicked();
    void on_btn_SetWorkAreaOption_clicked();
    void on_btn_GetWorkAreaOption_clicked();
    void on_btn_GetDeviceStatus_clicked();
    void on_btn_SetBoxAmount_clicked();
    void on_btn_GetBoxAmount_clicked();
    void on_btn_EnableDefrost_left_clicked();
    void on_btn_DisableDefrost_left_clicked();
    void on_btn_EnableDefrost_right_clicked();
    void on_btn_DisableDefrost_right_clicked();
    void on_btn_SetDefrostOption_clicked();
    void on_btn_GetDefrostOption_clicked();
    void on_btn_SetDefrostMode_clicked();
    void on_btn_GetDefrostMode_clicked();
    void on_btn_SetDefrostCriticalTemperature_clicked();
    void on_btn_GetDefrostCriticalTemperature_clicked();
    void on_btn_SetWorkAreaTemperatureThreshold_clicked();
    void on_btn_GetWorkAreaTemperatureThreshold_clicked();
    void on_btn_EnableOutdoorLamp_clicked();
    void on_btn_DisableOutdoorLamp_clicked();
    void on_btn_SetDoorFrameHeatingWireOption_clicked();
    void on_btn_GetDoorFrameHeatingWireOption_clicked();
    void on_btn_SetTemperatureDisplayMode_clicked();
    void on_btn_GetSixPathTemperature_clicked();

private:
    Ui::CDashboard_TCB ui;
    QButtonGroup* lockers_;
};

#endif  // VIEW_COMPONENT_TOOLS_CDASHBOARD_TCB_H_